Social networking services provide users with a set of items for viewing as part of the social networking experience of the user. The items may include items generated by other users, and shared with the user. Such items may include private items as well as public items owned by contacts of the user and shared with the user.
One approach for generating a user social stream is facilitated according to the push model. The push model method for generating the listing of items displayed to the user may include detecting an item shared with the user, and/or of interest to the user, and adding the item to a user cache specific to the user. Once the user logs into the social networking service, the system accesses the user cache of the user and displays the items stored in the user cache to the user within a social stream.
While this solution provides the user with a comprehensive list of all items visible to the user, having to store each item separately for each user requires a large amount of memory for maintaining a user cache per user. Furthermore, because the storage is ongoing as items become available, the user cache has to be populated for all users regardless of the frequency that the user visits the social networking service.